循環神經網路(RNN)是一種擅長於處理序列資料的神經網路,主要的運用領域包含自然語言處理以及手寫辨識...等.循環神經網路與前面提到的那些神經網路最大的差異,就是循環神經網路在輸入與輸出之間,具備著循環的機制,這種循環機制又被稱為回饋(Feedback).
下圖為一個循環神經網路的結構拆解圖:
雖然循環神經網路具有人類大腦可以根據序列關係做出判斷的這一個優點,但他同時也具備著不少需要加以改進的問題.循環神經網路具有與梯度消失類似的問題,我們知道全連接神經網路只要資料數據一多導致神經網路的層數跟著增加就會造成梯度消失的這個問題,而循環神經網路在具有多筆時間點資料的情況下,可能會造成記憶消失的問題,也就是循環神經網路只能保持短期的記憶,很難保持長期的記憶
.為了解決循環神經網路難以保持長期記憶的問題,學者便提出了LSTM這種可控制長、短期記憶的神經網路,這部分的內容會在明天的文章中進一步的說明.
下圖為雙向RNN(BiRNN)的神經網路架構:
每一個輸出需要考量兩個方向獲得的結果再進行輸出: